package com.guoheng.hazard.sys.mapper.hazard;

import com.guoheng.hazard.sys.model.dto.hazard.ProcessesStatisticsDTO;
import com.guoheng.hazard.sys.model.entity.hazard.KeyRegulatoryProcess;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 类功能描述:　KeyRegulatoryProcessMapper
 *
 * @author fbl
 * @date 2019-27-13 8:27
 */
@Mapper
public interface KeyRegulatoryProcessMapper {
    int deleteByPrimaryKey(Long id);

    int insert(KeyRegulatoryProcess record);

    /**
     * 方法功能描述: 新增重点监管危险化工工艺信息
     *
     * @param record 重点监管化学工艺
     * @return List<KeyRegulatoryProcess>
     */
    int insertProcess(KeyRegulatoryProcess record);


    /**
     * 方法功能描述: 查询重点监管危险化工工艺信息详情
     *
     * @param id 查询重点监管化学工艺
     * @return KeyRegulatoryProcess
     */
    KeyRegulatoryProcess selectProcessesById(Long id);

    /**
     * 方法功能描述: 修改重点监管危险化工工艺信息
     *
     * @param record 重点监管化学工艺
     * @return List<KeyRegulatoryProcess>
     */
    int updateProcess(KeyRegulatoryProcess record);

    int updateByPrimaryKey(KeyRegulatoryProcess record);

    /**
     * 方法功能描述: 查询重点监管危险化工工艺信息
     *
     * @param entprId     企业id
     * @param processName 工艺名称
     * @param entprName   企业名称
     * @return List<KeyRegulatoryProcess>
     */
    List<KeyRegulatoryProcess> getProcesses(@Param("entprName") String entprName, @Param("processName") String processName, @Param("entprId") Long entprId);

    /**
     * 方法功能描述: 查询重点监管危险化工工艺类型和数量
     *
     * @return List<ProcessesStatisticsDTO>
     */
    List<ProcessesStatisticsDTO> getProcessesTypeAndNum();

    /**
     * 方法功能描述: 查询重点监管危险化工工艺所属企业名称
     *
     * @return List<String>
     */
    List<String> getEntprName(@Param("processType") Integer processType);
}